It is desirable to complete software development projects on time and within the budget allocated to complete the projects. Accurately estimating the level of effort (LOE), or man-hours, needed to complete a project contributes towards realistic project scheduling and project budgeting. Without an accurate LOE estimate for the project, for example, too many or too few developers may be applied to the project and the project may be delivered late and/or over budget. By comparing an estimated LOE generated before a project commences with an actual LOE measured during or after a project, an enterprise can keep track of the budget and schedule of a project.
Various methods of estimating the LOE needed to complete a project have been employed with varying degrees of success. One of these, function point analysis, involves identifying and counting functionalities or function points to be delivered by a project. The function points can be assigned complexity ratings that reflect the amount of effort needed to achieve the specified functionality. Typically, the more function points to be delivered and the greater the complexity of the function points, the greater the LOE needed to complete the project.